Skip to content

Opencode mutation scope integration - #276

Open
davidabram wants to merge 5 commits into
mutation-scope-provenancefrom
opencode-mutation-scope-integration
Open

Opencode mutation scope integration#276
davidabram wants to merge 5 commits into
mutation-scope-provenancefrom
opencode-mutation-scope-integration

Conversation

@davidabram

Copy link
Copy Markdown
Member

No description provided.

@davidabram
davidabram added this pull request to stack #240 September 10, 2026 11:31
@davidabram
davidabram force-pushed the opencode-mutation-scope-integration branch 5 times, most recently from d4922bb to e19059c Compare September 10, 2026 15:54
@davidabram
davidabram force-pushed the opencode-mutation-scope-integration branch from e19059c to 2201ce8 Compare September 10, 2026 16:05
Define the six-task plan for lifecycle evidence, boundary-confirmed attribution,
adapter identity and classification, durable recovery, plugin wiring, and
end-to-end regressions for OpenCode mutation scopes. Preserve the existing
generic ingress, provenance semantics, and conservative false-positive guard.

Plan: opencode-mutation-scope-integration
Tasks: T01, T02, T03, T04, T05, T06
Record version-bound OpenCode 1.15.4 lifecycle evidence and probe fixtures before adapter wiring. Document tracked tool boundaries, confirmation-required start/close semantics, plugin ordering barriers, session/model provenance, and hard-kill behavior.

This establishes the safe v1 evidence boundary: bash/write/edit/apply_patch are tracked, task is delegation, and plugin/MCP/unknown tools remain untracked; live apply_patch coverage remains a credential-gated follow-up.
Plan: opencode-mutation-scope-integration (T01)
OpenCode Start boundaries are write-ahead admissions and can remain live when a tool is rejected or fails before its confirming Close, so treating them like ordinary scopes could produce false authorship claims. Generalize the mutation protocol and Quint model to require confirmation for Codex and OpenCode, while preserving ClaudeCode and Pi behavior.

Add OpenCode reachability and Rust/Quint regression coverage, update the runtime documentation, and mark plan T02 complete. The conservative rule keeps attribution IneligibleUnscoped until every live confirmation-required scope is confirmed; public attribution and state shapes remain unchanged.
Prepare the hidden OpenCode hook command for lifecycle integration by strictly parsing hook events, classifying mutation and delegation tools, and deriving collision-resistant scope and event identifiers from session and call identities. Normalize optional model provenance while keeping the adapter inert until lifecycle wiring is implemented.

Plan: opencode-mutation-scope-integration, T03
@davidabram
davidabram force-pushed the opencode-mutation-scope-integration branch from 848e252 to 4f95be8 Compare September 10, 2026 18:02
OpenCode needs durable, fail-closed tracking around mutation-capable tool calls so
its harness can establish, close, and abandon scopes without weakening attribution
when hooks fail or processes end unexpectedly. Add checkout-local attempt state and
locks, generation-tracked recovery, and ingress-seam lifecycle handling for Bash
and file tools, with exact cleanup signals and no same-session sweep or TTL.

The adapter now drives the generic runtime seam while preserving idempotent replay,
recovery barriers, and conservative failure behavior; untracked and delegation
events remain zero-footprint. Follow-up plugin generation and setup registration
remain outside this task.

Plan: opencode-mutation-scope-integration, T04

Co-authored-by: SCE <sce@crocoder.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant